Skip to content

Extend none isolation to APIServiceNamespaces#432

Merged
mjudeikis merged 5 commits into
kbind-dev:mainfrom
mjudeikis:adjust.none.isolation
Jan 19, 2026
Merged

Extend none isolation to APIServiceNamespaces#432
mjudeikis merged 5 commits into
kbind-dev:mainfrom
mjudeikis:adjust.none.isolation

Conversation

@mjudeikis

@mjudeikis mjudeikis commented Dec 30, 2025

Copy link
Copy Markdown
Contributor

Summary

What Type of PR Is This?

This prs renames cluster-scope-isolation to isolation so its broarder term
As APIServiceNamespace is key object to map namespaces, make it isolation aware. So now, if you use isolation none, all lands end up in the same namespace with the same names. Meaning we can actually get a twin situation.

/kind feature

Related Issue(s)

Fixes #

Release Notes

deprecate --cluster-scope-isolation in favor of --isolation
Extend isolation strategy None to not use prefixes and just copy as-is allowing twin type of configurations

@mjudeikis mjudeikis marked this pull request as ready for review December 30, 2025 11:58
@mjudeikis mjudeikis requested a review from a team as a code owner December 30, 2025 11:58
@mjudeikis mjudeikis changed the title Adjust.none.isolation Extend none isolation to APIServiceNamespaces Dec 30, 2025
@mjudeikis mjudeikis force-pushed the adjust.none.isolation branch from 6554d32 to ca74cbb Compare December 30, 2025 13:47
Comment thread backend/options/options.go Outdated
Comment thread sdk/apis/kubebind/v1alpha2/apiserviceexport_types.go Outdated
Comment thread sdk/apis/kubebind/v1alpha2/apiserviceexport_types.go Outdated
Comment on lines 281 to 284
default:
// Default to None isolation strategy if no valid isolation strategy is specified
logger.V(4).Info("Using default None isolation strategy", "export", export.Name)
isolationStrategy = isolation.NewNone(r.providerNamespace, providerNamespaceUID)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Food for thought, should this be a reconcile error? Is this just hiding broken objects from getting noticed by the admin?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is required in the object, so it should never be unset. Will make it logging V2 so its visible in the logs for now,.


processedSchemas[name] = true // This is only schemas names (suffix)
isClusterScoped = schema.Spec.Scope == apiextensionsv1.ClusterScoped || schema.Spec.InformerScope == kubebindv1alpha2.ClusterScope
isClusterScoped = schema.Spec.InformerScope == kubebindv1alpha2.ClusterScope

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something we should mention in the release-notes? It seems like kube-bind is now doing less automagicalism to determine the correct scope to use, and instead the admin now needs to make sure their InformerScopes are set correctly? Or was the automagicalism already not doing anything? My brain currently can't parse all combinations ^^

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was somehow leaking from old implementation. As much as I understand this didnt change the behaviour.

Comment thread docs/content/developers/architecture.md
Comment thread cli/pkg/kubectl/dev/plugin/create.go Outdated
Comment thread cli/pkg/kubectl/dev/plugin/create.go Outdated
Comment thread cli/pkg/kubectl/dev/plugin/create.go Outdated
Comment thread cli/pkg/kubectl/dev/plugin/create.go Outdated
Comment thread cli/pkg/kubectl/dev/plugin/create.go Outdated
Comment thread backend/oidc/oidc_test.go
// Verify the TLS config was created
if config == nil {
t.Fatal("Expected non-nil TLS config")
return

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fatal() already ends the test early, no need for a return.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but linter does not like it :) something about return early to avoid NPE :D

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jan 19, 2026
@mjudeikis mjudeikis force-pushed the adjust.none.isolation branch 2 times, most recently from 2e5a3e9 to 4f0596f Compare January 19, 2026 09:55
Comment thread backend/options/options.go Outdated
Signed-off-by: Mangirdas Judeikis <mangirdas@judeikis.lt>
@mjudeikis mjudeikis force-pushed the adjust.none.isolation branch from 4f0596f to d02df62 Compare January 19, 2026 11:17

@xrstf xrstf left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sip it

@mjudeikis mjudeikis merged commit 713287e into kbind-dev:main Jan 19, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants